Automatically generating features for learning program analysis heuristics
نویسندگان
چکیده
We present a technique for automatically generating features for data-driven program analyses. Recently data-driven approaches for building a program analysis have been proposed, which mine existing codebases and automatically learn heuristics for finding a cost-effective abstraction for a given analysis task. Such approaches reduce the burden of the analysis designers, but they do not remove it completely; they still leave the highly nontrivial task of designing so called features to the hands of the designers. Our technique automates this feature design process. The idea is to use programs as features after reducing and abstracting them. Our technique goes through selected programquery pairs in codebases, and it reduces and abstracts the program in each pair to a few lines of code, while ensuring that the analysis behaves similarly for the original and the new programs with respect to the query. Each reduced program serves as a boolean feature for program-query pairs. This feature evaluates to true for a given program-query pair when (as a program) it is included in the program part of the pair. We have implemented our approach for three real-world program analyses. Our experimental evaluation shows that these analyses with automatically-generated features perform comparably to those with manually crafted features.
منابع مشابه
Automatic Feature Generation for Setting Compilers Heuristics
Heuristics in compilers are often designed by manually analyzing sample programs. Recent advances have successfully applied machine learning to automatically generate heuristics. The typical format of these approaches reduces the input loops, functions or programs to a finite vector of features. A machine learning algorithm then learns a mapping from these features to the desired heuristic para...
متن کاملEnd-to-end Deep Learning of Optimization Heuristics
Accurate automatic optimization heuristics are necessary for dealing with the complexity and diversity of modern hardware and software. Machine learning is a proven technique for learning such heuristics, but its success is bound by the quality of the features used. These features must be hand crafted by developers through a combination of expert domain knowledge and trial and error. This makes...
متن کاملTransfer of Learned Heuristics among Planners∗
This paper presents a study on the transfer of learned control knowledge between two different planning techniques. We automatically learn heuristics (usually, in planning, heuristics are also named control knowledge) from one planner search process and apply them to a different planner. The goal is to improve this second planner efficiency solving new problems, i.e. to reduce computer resource...
متن کاملTransferring Learned Control-Knowledge between Planners
As any other problem solving task that employs search, AI Planning needs heuristics to efficiently guide the problem-space exploration. Machine learning (ML) provides several techniques for automatically acquiring those heuristics. Usually, a planner solves a problem, and a ML technique generates knowledge from the search episode in terms of complete plans (macro-operators or cases), or heurist...
متن کاملApplying inductive decision trees in co-reference resolution of definite NPs
In this paper we present a system for resolving definite descriptions co-reference in English written texts. The system uses a set of heuristics that identifies different types of definite descriptions. The heuristics development was based on an empirical analysis of definite description use in newswire texts. We developed algorithms for the automatic analysis of several features of each defini...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- CoRR
دوره abs/1612.09394 شماره
صفحات -
تاریخ انتشار 2016